package com.wayne.leetcode.problems;

import java.util.ArrayList;
import java.util.List;

public class Solution118 {
  public static List<List<Integer>> generate(int numRows) {
    List<List<Integer>> res = new ArrayList<>();

    for (int i = 0; i < numRows; i++) {
      List<Integer> line = new ArrayList<>();
      for (int j = 0; j <= i; j++) {
        // i>1 至少前一行得有两个值才能进行加  第一个位置和最后一个位置中间的才需要计算
        if(i>1 && j>0 && j<i) {
          List<Integer> pre = res.get(i-1);
          line.add(pre.get(j) + pre.get(j-1));
        } else {
          line.add(1);
        }
      }
      res.add(line);
    }
    return res;
  }

  public static void main(String[] args) {
    generate(5);
  }
}